[INFO] cloning repository https://github.com/kaori-seasons/ai-edge-inference
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kaori-seasons/ai-edge-inference" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaori-seasons%2Fai-edge-inference", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaori-seasons%2Fai-edge-inference'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 09dffe3c48ecf5f042942e5245aea688b92503ca
[INFO] testing kaori-seasons/ai-edge-inference against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaori-seasons%2Fai-edge-inference" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/kaori-seasons/ai-edge-inference
[INFO] finished tweaking git repo https://github.com/kaori-seasons/ai-edge-inference
[INFO] tweaked toml for git repo https://github.com/kaori-seasons/ai-edge-inference written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kaori-seasons/ai-edge-inference on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kaori-seasons/ai-edge-inference already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded volatile v0.4.6
[INFO] [stderr]   Downloaded fdt-parser v0.5.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 697574bec70f3558a95546e2058baf2a2c7a9ed75d45b8801187e98359245c10
[INFO] running `Command { std: "docker" "start" "-a" "697574bec70f3558a95546e2058baf2a2c7a9ed75d45b8801187e98359245c10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "697574bec70f3558a95546e2058baf2a2c7a9ed75d45b8801187e98359245c10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "697574bec70f3558a95546e2058baf2a2c7a9ed75d45b8801187e98359245c10", kill_on_drop: false }`
[INFO] [stdout] 697574bec70f3558a95546e2058baf2a2c7a9ed75d45b8801187e98359245c10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 38433fc9830bc350f15a5ac3eb93dab3ded4841ef5b2af0f085323327cefcd35
[INFO] running `Command { std: "docker" "start" "-a" "38433fc9830bc350f15a5ac3eb93dab3ded4841ef5b2af0f085323327cefcd35", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling heapless v0.9.2
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling volatile v0.4.6
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling starryos-rk3588 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling fdt-parser v0.5.1
[INFO] [stdout] error: cannot find macro `vec` in this scope
[INFO] [stdout]    --> src/npu/dbscan_clustering.rs:279:26
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let mut labels = vec![ClusterLabel::Noise; n];
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   6 + use alloc::vec;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `vec` in this scope
[INFO] [stdout]    --> src/npu/vector_index_hnsw.rs:142:27
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let mut nearest = vec![entry];
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   6 + use alloc::vec;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `vec` in this scope
[INFO] [stdout]    --> src/npu/vector_index_hnsw.rs:261:27
[INFO] [stdout]     |
[INFO] [stdout] 261 |         let mut nearest = vec![self.entry_point.unwrap()];
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   6 + use alloc::vec;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `format` in this scope
[INFO] [stdout]    --> src/npu/metadata_index_sync.rs:194:37
[INFO] [stdout]     |
[INFO] [stdout] 194 |             cloud_backup_path: Some(format!("/metadata/v{}", self.current_version)),
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   6 + use alloc::format;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `format` in this scope
[INFO] [stdout]    --> src/npu/metadata_index_sync.rs:216:37
[INFO] [stdout]     |
[INFO] [stdout] 216 |             cloud_backup_path: Some(format!("/metadata/full/{}", self.current_version)),
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   6 + use alloc::format;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `collections` in `core`
[INFO] [stdout]    --> src/npu/vector_index_hnsw.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut visited = core::collections::BTreeSet::new();
[INFO] [stdout]     |                                 ^^^^^^^^^^^ could not find `collections` in `core`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   6 + use alloc::collections::BTreeSet;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `BTreeSet`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 150 -         let mut visited = core::collections::BTreeSet::new();
[INFO] [stdout] 150 +         let mut visited = BTreeSet::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `collections` in `core`
[INFO] [stdout]    --> src/npu/vector_index_hnsw.rs:290:33
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let mut visited = core::collections::BTreeSet::new();
[INFO] [stdout]     |                                 ^^^^^^^^^^^ could not find `collections` in `core`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   6 + use alloc::collections::BTreeSet;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `BTreeSet`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 290 -         let mut visited = core::collections::BTreeSet::new();
[INFO] [stdout] 290 +         let mut visited = BTreeSet::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]  --> src/drivers/can_driver_rk.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `volatile::Volatile`
[INFO] [stdout]   --> src/hal/gic500.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use volatile::Volatile;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fdt_parser::Fdt`
[INFO] [stdout]  --> src/hal/fdt_parser.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fdt_parser::Fdt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]  --> src/hal/fdt_parser.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::fmt;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/kernel/multicore.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | /// 全局CPU信息表
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/kernel/multicore.rs:209:1
[INFO] [stdout]     |
[INFO] [stdout] 209 | /// 全局IPI处理函数表
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/kernel/sched/hmp_scheduler.rs:293:1
[INFO] [stdout]     |
[INFO] [stdout] 293 | /// 全局HMP调度器实例
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]  --> src/kernel/sched/hmp_scheduler.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::fmt;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::format`
[INFO] [stdout]   --> src/npu/yolov8_infer_app.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use alloc::format;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]   --> src/npu/arcface_app.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use core::fmt;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::format`
[INFO] [stdout]   --> src/npu/arcface_app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::format;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::collections::BTreeMap`
[INFO] [stdout]  --> src/npu/dbscan_clustering.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use alloc::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]  --> src/npu/hybrid_search.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use core::fmt;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec`
[INFO] [stdout]  --> src/npu/cloud_storage_sync.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use alloc::vec;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]   --> src/system/integration.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::string::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: formatting may not be suitable for sub-register argument
[INFO] [stdout]    --> src/hal/gic500.rs:296:23
[INFO] [stdout]     |
[INFO] [stdout] 296 |             asm!("mrs {}, icc_iar1_el1", out(reg) iar);
[INFO] [stdout]     |                       ^^                          --- for this argument
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `{0:e}` to have the register formatted as `eax` (for 32-bit values)
[INFO] [stdout]     = help: or use `{0:r}` to keep the default formatting of `rax` (for 64-bit values)
[INFO] [stdout]     = note: `#[warn(asm_sub_register)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: formatting may not be suitable for sub-register argument
[INFO] [stdout]    --> src/hal/gic500.rs:304:38
[INFO] [stdout]     |
[INFO] [stdout] 304 |             asm!("msr icc_eoir1_el1, {}", in(reg) iar);
[INFO] [stdout]     |                                      ^^           --- for this argument
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `{0:e}` to have the register formatted as `eax` (for 32-bit values)
[INFO] [stdout]     = help: or use `{0:r}` to keep the default formatting of `rax` (for 64-bit values)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/npu/cloud_storage_sync.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 if age_days > self.policy.auto_upload_threshold_days {
[INFO] [stdout]     |                    --------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `u64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert a `u32` to a `u64`
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 if age_days > self.policy.auto_upload_threshold_days.into() {
[INFO] [stdout]     |                                                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `can_id` is never read
[INFO] [stdout]    --> src/drivers/can_driver_rk.rs:252:35
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let mut can_id: u32 = 0;
[INFO] [stdout]     |                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte_offset`
[INFO] [stdout]    --> src/hal/gic500.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 let byte_offset = irq / 8;
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_byte_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/kernel/multicore.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/kernel/multicore.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `online_count`
[INFO] [stdout]    --> src/kernel/multicore.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let online_count = wait_all_online(1000);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_online_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/npu/rknn_binding_sys.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let pa = unsafe {
[INFO] [stdout]     |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/npu/rknn_binding_sys.rs:538:17
[INFO] [stdout]     |
[INFO] [stdout] 538 |             let mut attr = TensorAttr {
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_w`
[INFO] [stdout]    --> src/npu/yolov8_infer_app.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         input_w: u32,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_h`
[INFO] [stdout]    --> src/npu/yolov8_infer_app.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         input_h: u32,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_time`
[INFO] [stdout]    --> src/npu/arcface_app.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let start_time = get_time_ms();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inference_duration`
[INFO] [stdout]    --> src/npu/arcface_app.rs:217:21
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 let inference_duration = get_time_ms() - inference_start;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inference_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/npu/hybrid_search.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let mut candidates = self._apply_structural_filters(query)?;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vector`
[INFO] [stdout]    --> src/npu/hybrid_search.rs:180:46
[INFO] [stdout]     |
[INFO] [stdout] 180 |             let semantic_score = if let Some(ref vector) = query.vector_query {
[INFO] [stdout]     |                                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/npu/hybrid_search.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let idx = self.id_index.remove(&id).ok_or("Record not found")?;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/npu/incremental_clustering.rs:339:44
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn restore_from_version(&mut self, version: u32) -> Result<(), &'static str> {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cloud_data`
[INFO] [stdout]    --> src/npu/metadata_index_sync.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         cloud_data: &[u8],
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloud_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reuse_from`
[INFO] [stdout]    --> src/npu/dedup_manager.rs:269:54
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn mark_as_skipped(&mut self, photo_id: u32, reuse_from: u32) -> Result<(), &'static str> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reuse_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_state`
[INFO] [stdout]    --> src/system/scenarios.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let start_state = self.state;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `starryos-rk3588` (lib) due to 8 previous errors; 35 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "38433fc9830bc350f15a5ac3eb93dab3ded4841ef5b2af0f085323327cefcd35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38433fc9830bc350f15a5ac3eb93dab3ded4841ef5b2af0f085323327cefcd35", kill_on_drop: false }`
[INFO] [stdout] 38433fc9830bc350f15a5ac3eb93dab3ded4841ef5b2af0f085323327cefcd35
